package estate;

import java.util.HashMap;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Wlodek
 */


public class DekoratorGruntowy extends Dekorator {


    private String typ_gruntu;
    private String klasa_gruntu;
    private int numer_dzialki;
    private int uksztaltowanie_terenu;
    private int ksztalt_dzialki;

    public String getTypGruntu(){
            return typ_gruntu;
    }
    public String getKlasaGruntu(){
            return klasa_gruntu;
    }
    public int getNumerDzialki(){
            return numer_dzialki;
    }
    public int getUksztaltowanieTerenu(){
            return uksztaltowanie_terenu;
    }
    public int getKsztaltDzialki(){
            return ksztalt_dzialki;
    }

    @Override
    public void dekoruj(HashMap<String,Object> hm){
        this.typ_gruntu=(String)hm.get("typ_gruntu");
        this.klasa_gruntu=(String)hm.get("klasa_gruntu");
        this.numer_dzialki=(Integer)hm.get("numer_dzialki");
        this.ksztalt_dzialki=(Integer)hm.get("ksztalt_dzialki");
        this.uksztaltowanie_terenu=(Integer)hm.get("uksztaltowanie_terenu");
        this.element.dekoruj(hm);
    }

    public DekoratorGruntowy(Estate e){
        super(e);
    }
    @Override
    public int getTypOferty() {
        return ((Oferta)this.element).getTypOferty();
    }
    public boolean equals(Estate e){
        DekoratorGruntowy pe = (DekoratorGruntowy)e;
    if(
                /*    private String typ_gruntu;
    private String klasa_gruntu;
    private int numer_dzialki;
    private int uksztaltowanie_terenu;
    private int ksztalt_dzialki;*/


        this.typ_gruntu.equals(pe.getTypGruntu()) &&
        this.klasa_gruntu.equals(pe.getKlasaGruntu()) &&
        this.numer_dzialki==pe.getNumerDzialki() &&
        this.uksztaltowanie_terenu==pe.uksztaltowanie_terenu &&
        this.ksztalt_dzialki==pe.ksztalt_dzialki &&
                ((Oferta)this.element).equals(pe.element)
        )
        return true;
    else return false;
    }
}
